package org.example.util;

import org.example.dto.StudentInfoDTO;
import org.example.feign.StudenService;
import org.example.service.StudentService;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;

@Component
public class HeartbeatScheduler {

//    private ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
//    private ScheduledFuture<?> heartbeatFuture;
//    @Resource
//    StudenService studentService;
//
//    // 启动定时器（原逻辑迁移到这里）
//    public void startHeartbeat() {
//        if (heartbeatFuture == null || heartbeatFuture.isCancelled()) {
//            heartbeatFuture = scheduler.scheduleAtFixedRate(() -> {
//                // ********** 补充实际心跳逻辑 **********
//                try {
//                    // 示例：发送心跳到教师机（根据实际需求构造请求）
//                    StudentInfoDTO heartbeatRequest = StudentInfoDTO.builder()
//                            .ok("ping") // 心跳标识
//                            .lasName("心跳检测")
//                            .build();
//                    StudentInfoDTO response = studentService.select(heartbeatRequest);
//                    System.out.println("心跳响应: " + response.getOk()); // 期望返回 "pong"
//                } catch (Exception e) {
//                    System.err.println("心跳发送失败: " + e.getMessage());
//                }
//                // 原心跳逻辑...
//            }, 0, 5, TimeUnit.SECONDS);
//        }
//    }
//
//    // 停止定时器
//    public void stopHeartbeat() {
//        if (heartbeatFuture != null && !heartbeatFuture.isCancelled()) {
//            heartbeatFuture.cancel(true);
//        }
//    }
}
